/**
 * {@link Affordance}s are possible actions the user can take given the
 * current world state.  They include an abstract display element 
 * (usually converted into a menu) and a command to be sent back to the game
 * server when it is selected.
 * <p>
 * The possible affordances given the current game state are determined by
 * the game server.  They are sent from the server as general JSON objects.  
 * Conversion to specific types is handed by {@link JsAffordance}.
 * <p>
 * Most of the other classes in this package are specific Affordance 
 * sub-types.
 * 
 * <h4>Example of Use</h4>
 * <p>
 * The following shows how to use an ActionDI.  Other affordances may differ
 * slightly in their details, but this demonstrates the general idea.
 * <p>
 * ...
 * As an example, consider the ActionDI that should
 * send "PutOn(fork, table)".  Its cmd would be "PutOn($dobj, $iobj)" and its
 * display might be "Put $dobj on $iobj"
 * 
 * 
 * 
 * 
 * @author Zach Tomaszewski
 */
package com.googlecode.skald.client.affordances;
